#include <stdio.h>
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h> 


// Print TGA header
inline void PrintTGAHeader( FILE * ofile, int width, int height ) {
        fputc(0,ofile);
        fputc(0,ofile);
        fputc(2,ofile);
        for(int i=3;i<12;i++) fputc(0,ofile);
        fputc(width % 256, ofile);
        fputc(width / 256, ofile);
        fputc(height % 256, ofile);
        fputc(height / 256, ofile);
        fputc(24,ofile);
        fputc(32,ofile);
}

// Print TGA header
inline void PrintTGAColor( FILE * ofile, double value, double gamma = 0.8 ) {
	int r, g, b;
	if (value < 0) value = 0;
	if (value > 1) value = 1;
	r = g = b = (int)((1 - pow(value, gamma)) * 255.5);
	fputc(b, ofile); fputc(g, ofile); fputc(r, ofile);
}

inline void Message(char * buffer, bool up) {    
	glColor3f(1, 1, 1);
	glRasterPos2f( 0.01, (up) ? 0.85 : -0.98 );
	for( int i = 0; i < 80; i++ ) {
		if ( buffer[i] == '\0' ) break;
		else glutBitmapCharacter( GLUT_BITMAP_HELVETICA_10, buffer[i] );
	}
}
